package com.xiaoyy.core.oplog.integration;

import com.xiaoyy.core.common.vo.OplogApiVO;
import com.xiaoyy.core.common.vo.OplogChangeVO;
import com.xiaoyy.core.common.vo.OplogVO;

import java.util.List;

/**
 * 操作日志整合类
 * */
public interface OplogIntegration {
    /**
     * 保存操作日志信息
     * */
    Long saveOpLog(OplogVO oplogVO,Object obj);
    /**
     * 回退
     * */
    void rollback(Long oplogId,String rbUserId,String rbRemarks);

    /**
     * 审核
     * */
    void finshAuth(Long oplogId,String authUserId,String authStatus,String authRemarks);
    /**
     * 保存接口日志信息
     * */
    void saveApiOpLog(OplogApiVO oplogApiVO);
    /**
     * 保存业务变动信息
     * */
    Boolean saveChangeLog(Long oplogId,Object oldObj,Object newObj,Class classType,String opType,String opTable,String dataField);
    /**
     * 获取变动信息
     * */
    List<OplogChangeVO> toList(Class elementType, Long oplogId, String opTable);
}
